Sets the attributes that describe the Modality LUT. 
Supported in Silverlight, Windows Phone 7. 
             
             
            
Syntax
            Parameters
- attributes
 
- The Modality LUT attributes to set.
 - data
 
- Array of integers that holds the "LUT Data".
 
 
             
              
             
             
            
Example
This example will set the modality LUT information inside a DICOM dataset.
 
             | Visual Basic |  Copy Code | 
|---|
Public Sub TestSetModalityLut()
   Dim dicomFileName As String = LeadtoolsExamples.Common.ImagesPath.Path + "IMAGE3.dcm"
   'Make sure to initialize the DICOM engine, this needs to be done only once 
   'In the whole application
   DicomEngine.Startup()
   Dim ds As DicomDataSet = New DicomDataSet()
   Using (ds)
      'Load DICOM File
      ds.Load(dicomFileName, DicomDataSetLoadFlags.None)
      Dim modalityLutAttributes As DicomModalityLutAttributes = New DicomModalityLutAttributes()
      'No Modality LUT Sequence (0028,3000) 
      modalityLutAttributes.IsModalityLutSequence = False
      'Yes there is a rescale slope and intercept
      modalityLutAttributes.IsRescaleSlopeIntercept = True
      modalityLutAttributes.RescaleIntercept = -128.0
      modalityLutAttributes.RescaleSlope = 1.0
      modalityLutAttributes.RescaleType = "UNSPECIFIED"
      ' Delete the existing modality LUT, 
      ' although we don't have to ! 
      ds.DeleteModalityLut()
      'Set rescale slope and intercept
      ds.SetModalityLut(modalityLutAttributes, Nothing)
      ds.Save(LeadtoolsExamples.Common.ImagesPath.Path + "MLUT.dcm", DicomDataSetSaveFlags.None)
   End Using
   DicomEngine.Shutdown()
End Sub | 
 
| C# |  Copy Code | 
|---|
public void TestSetModalityLut()
{
   string dicomFileName = LeadtoolsExamples.Common.ImagesPath.Path + "IMAGE3.dcm";
   //Make sure to initialize the DICOM engine, this needs to be done only once 
   //In the whole application
   DicomEngine.Startup();
   using (DicomDataSet ds = new DicomDataSet())
   {
      //Load DICOM File
      ds.Load(dicomFileName, DicomDataSetLoadFlags.None);
      DicomModalityLutAttributes modalityLutAttributes = new DicomModalityLutAttributes();
      //No Modality LUT Sequence (0028,3000) 
      modalityLutAttributes.IsModalityLutSequence = false;
      //Yes there is a rescale slope and intercept
      modalityLutAttributes.IsRescaleSlopeIntercept = true;
      modalityLutAttributes.RescaleIntercept = -128.0;
      modalityLutAttributes.RescaleSlope = 1.0;
      modalityLutAttributes.RescaleType = "UNSPECIFIED";
      // Delete the existing modality LUT, 
      // although we don't have to ! 
      ds.DeleteModalityLut();
      //Set rescale slope and intercept
      ds.SetModalityLut(modalityLutAttributes, null);
      ds.Save(LeadtoolsExamples.Common.ImagesPath.Path + "MLUT.dcm", DicomDataSetSaveFlags.None);
   }
   DicomEngine.Shutdown();
} | 
 
| SilverlightCSharp |  Copy Code | 
|---|
public void TestSetModalityLut(Stream dicomStream, Stream outputStream)
{
   //Make sure to initialize the DICOM engine, this needs to be done only once 
   //In the whole application
   DicomEngine.Startup();
   using (DicomDataSet ds = new DicomDataSet())
   {
      //Load DICOM File
      ds.Load(dicomStream, DicomDataSetLoadFlags.None);
      DicomModalityLutAttributes modalityLutAttributes = new DicomModalityLutAttributes();
      //No Modality LUT Sequence (0028,3000) 
      modalityLutAttributes.IsModalityLutSequence = false;
      //Yes there is a rescale slope and intercept
      modalityLutAttributes.IsRescaleSlopeIntercept = true;
      modalityLutAttributes.RescaleIntercept = -128.0;
      modalityLutAttributes.RescaleSlope = 1.0;
      modalityLutAttributes.RescaleType = "UNSPECIFIED";
      // Delete the existing modality LUT, 
      // although we don't have to ! 
      ds.DeleteModalityLut();
      //Set rescale slope and intercept
      ds.SetModalityLut(modalityLutAttributes, null);
      ds.Save(outputStream, DicomDataSetSaveFlags.None);
   }
   DicomEngine.Shutdown();
} | 
 
| SilverlightVB |  Copy Code | 
|---|
Public Sub TestSetModalityLut(ByVal dicomStream As Stream, ByVal outputStream As Stream)
   'Make sure to initialize the DICOM engine, this needs to be done only once 
   'In the whole application
   DicomEngine.Startup()
   Using ds As DicomDataSet = New DicomDataSet()
      'Load DICOM File
      ds.Load(dicomStream, DicomDataSetLoadFlags.None)
      Dim modalityLutAttributes As DicomModalityLutAttributes = New DicomModalityLutAttributes()
      'No Modality LUT Sequence (0028,3000) 
      modalityLutAttributes.IsModalityLutSequence = False
      'Yes there is a rescale slope and intercept
      modalityLutAttributes.IsRescaleSlopeIntercept = True
      modalityLutAttributes.RescaleIntercept = -128.0
      modalityLutAttributes.RescaleSlope = 1.0
      modalityLutAttributes.RescaleType = "UNSPECIFIED"
      ' Delete the existing modality LUT, 
      ' although we don't have to ! 
      ds.DeleteModalityLut()
      'Set rescale slope and intercept
      ds.SetModalityLut(modalityLutAttributes, Nothing)
      ds.Save(outputStream, DicomDataSetSaveFlags.None)
   End Using
   DicomEngine.Shutdown()
End Sub | 
 
  
            
            Remarks
            
Requirements
Target Platforms: Silverlight 3.0, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7, MAC OS/X (Intel Only) 
 
            
            
See Also